The present invention relates to a method and device for determining a parameter associated with a retransmission time-out feature in a data unit transmitter.
Generally, in the field of communication one distinguishes between circuit-switched connections and data unit switched connections. In a data unit switched connection, an amount of data to be sent is divided into data units, and these data units are sent in accordance with a protocol governing the communication. It may noted that the data units receive different names in the context of different protocols, such as packets, frames, etc., where the term “data unit” shall be used generically for the purpose of the following description.
In order to ensure the reliable transmission of data, many protocols provide the feature of data unit retransmission. More specifically, data unit retransmission means that the correct receipt of a data unit by the receiver in a communication is acknowledged with an appropriate acknowledgment message that the receiver sends back to the sender. Once an acknowledgment has been received by the sender, it can appropriately continue sending further data units, or if no acknowledgment or a non-acknowledgment message is received, then the data unit that was not correctly received by the receiver can be retransmitted.
A feature that typically accompanies data unit retransmission is that of a retransmission time-out. This feature means that the sender in a communication will only wait for a predetermined period of time for an acknowledgment message, namely the retransmission time-out period. After this time has passed without receipt of an acknowledgment, the corresponding data unit is automatically retransmitted. This feature ensures that if a data unit is lost, then the lost data unit will automatically be retransmitted after the above-mentioned time-out period.
An example of a protocol that provides a retransmission and retransmission time-out feature is the so-called transmission control protocol (TCP), which is part of the well known TCP/IP protocol suite. In a general way, it is clear that the time-out period should be determined depending on the so-called round trip time RTT, i.e. the time that passes between the sending of a data unit and the receipt of an acknowledgment for said data unit.Time−Out=f(RTT)  (1)
Namely, if a connection is “distant” (i.e. long RTT), then the time-out period must be set longer than for a “close” connection (i.e. short RTT). In this context, it is also clear that the time-out period should be set as long as necessary and as short as possible, because a time-out period that is set too long leads to unnecessary delays in the transmission.
The measured values of RTT may vary strongly over short periods of time, due to a plurality of factors, such as traffic conditions on the network transporting the data units, delayed acknowledgment mechanisms, etc. In order to overcome this problem, it was suggested to introduce a smoothed estimator for the roundtrip time. This is explained e.g. in “TCP/IP Illustrated, Volume 1” The Protocols” by W.
Richard Stevens, Section 21.3, Addison Wesley 1994. A first method of determining an RTT estimator uses the following equationSRTT←α·SRTT+(1−α)·RTT  (2)where SRTT represents the smoothed estimator, RTT represents the momentarily measured round-trip time value, and a is a weight or smoothening factor having a recommended value of 0.9. The smoothed estimator SRTT is updated every time a new measurement of RTT is made. The value 0.9 means that 90% of each new estimate is from the previous estimate, and 10% is from the new measurement. RFC 793 (RFC=Request for Comments) recommended setting the so-called retransmission time-out value RTO asRTO=SRTT·β  (3)where RTO is the specific term used in connection with TCP for the above described time-out period, and β is a further weight factor, also referred to as a delay variance factor, with a recommended value of 2.
The above described approach to the calculation of RTO has a problem in that it cannot keep up with wide fluctuations in the RTT. This leads to unnecessary retransmissions that deteriorate the conditions in a network. An improvement was therefore suggested, which not only takes the mean value into account but also attempts to keep track of the standard deviation. It is mentioned in the above book by Stevens that the calculation of the standard deviation would be preferred, but this would require the calculation of squares and a square root, which is preferably avoided. This leads to the following approach:Δ=RTT−SRTT  (4)SRTT←SRTT+g·Δ  (5)RTTVAR←RTTVAR+h·(|Δ|−RTTVAR)  (6)RTO=SRTT+4·RTTVAR  (7)where RTT again represents the measured round-trip time value, SRTT the smoothed round-trip time estimator, RTTVAR the estimator for the mean deviation, RTO the retransmission time-out value, g a first weight factor, and h a second weight factor. These weight factors g and h are also referred to as gains, and the value of g is set to 0.125 whereas the value of h is set to 0.25.
The above described approach of equations (4) to (7) has been in place for over ten years.